#include <stdio.h>
#include <string.h>

int an[251][1000];

int cc[1000];
int mid[1000];
void add(int *s1, int *s2,int *to)
{
	int  len1,len2,len,i,j,site;
	memset(cc,0,sizeof(cc));
	len=s1[0]>s2[0]? s1[0]:s2[0];
	for (i=1;i<=len;i++)
	{
		cc[i]+=s1[i]+s2[i];
		if (cc[i]>=10)
		{
			cc[i+1]+=cc[i]/10;
			cc[i]%=10;
		}
	}
	if (cc[len+1]!=0) len++;
	cc[0]=len;
	for (i=0;i<=len;i++)
		to[i]=cc[i];

}

void output(int *a)
{
	int i;
	for (i=a[0];i>=1;i--)
		printf("%d", a[i]);
	printf("\n");
}
main()
{

	int i,j;

	memset(an,0,sizeof(an));

	an[0][0]=1;
	an[0][1]=1;
	an[1][0]=1;
	an[1][1]=1;
	an[2][0]=1;
	an[2][1]=3;

	for (i=3;i<=250;i++)
	{
//		c=2*a+b;
		add(an[i-2],an[i-2],mid);
		add(an[i-1],mid,an[i]);		
	}
	int n;
	while (scanf("%d", &n)!=EOF)
	{
		output(an[n]);
	}


	return 0;
}